This plugin is available for Linux and Windows.
This is a light weight yet powerful calculator plugin for OpenCPN which includes functions to solve nautical questions.
Key features are:
Adding formulas is easy. If your favorite nautical equation is missing, please let me know your equation via flyspray, and I will add it.
OpenCPN 4.2.0 and above. Linux or Windows
The calculator plugin allows you to carry out all nautical calculations, without having to leave the OpenCPN environment. The scientific calculator is capable of working with, and retaining variables.
* When starting the plugin for the first time, go to
to find the plugin tab. Click on the calculator plugin, then the “Enable” button.
brings up the calculator.
Type help in the calculator to get these instructions.
Examples of expressions that work in the calculator are: (comments are in brackets, some results depend on other example calculations):
The following table gives an overview of the functions supported by the default implementation. It lists the function names, the number of arguments and a brief description.
| Name | Argc. | Explanation |
| TRIGONOMETRY | default entry use radians e.g. sin(dtr*90) to calculate in degrees | |
| sin | 1 | sine function |
| cos | 1 | cosine function |
| tan | 1 | tangens function |
| asin | 1 | arcus sine function |
| acos | 1 | arcus cosine function |
| atan | 1 | arcus tangens function |
| sinh | 1 | hyperbolic sine function |
| cosh | 1 | hyperbolic cosine |
| tanh | 1 | hyperbolic tangens function |
| asinh | 1 | hyperbolic arcus sine function |
| acosh | 1 | hyperbolic arcus tangens function |
| atanh | 1 | hyperbolic arcur tangens function |
| LOGARITHMIC | ||
| log2 | 1 | logarithm to the base 2 |
| log10 | 1 | logarithm to the base 10 |
| log | 1 | logarithm to the base 10 |
| ln | 1 | logarithm to base e (2.71828…) |
| OTHER | ||
| exp | 1 | e raised to the power of x |
| sqrt | 1 | square root of a value |
| sign | 1 | sign function -1 if x<0; 1 if x>0 |
| rint | 1 | round to nearest integer |
| abs | 1 | absolute value |
| min | var. | min of all arguments |
| max | var. | max of all arguments |
| sum | var. | sum of all arguments |
| avg | var. | mean value of all arguments |
The following table lists the default binary operators supported by the parser.
| Operator | Meaning | Priority |
| = | assignment | -1 |
| && | logical and | 1 |
| || | logical or | 2 |
| ⇐ | less or equal | 4 |
| >= | greater or equal | 4 |
| != | not equal | 4 |
| == | equal | 4 |
| > | greater than | 4 |
| < | less than | 4 |
| + | addition | 5 |
| - | subtraction | 5 |
| * | multiplication | 6 |
| / | division | 6 |
| ^ | raise x to the power of y | 7 |
| ^ | use ^(1/2) for square root | 7 |
* The assignment operator is special since it changes one of its arguments and can only by applied to variables.
muParser has built in support for the if.. then.. else operator. It uses lazy evaluation in order to make sure only the necessary branch of the expression is evaluated.
| Operator | Meaning |
| ?: | if then else operator |
| pi, e | well known |
| ans | the result of the previous calculation |
| dtr | conversion factor from degrees to radians |
| Define variables | e.g. myvariable=10/8*cos(dtr*90) or yourvariable=ans |
| clear | removes results in the history and leaves defined variables in tact |
Type these commands in the command window:
| history | Toggle the history panel |
| showhelp | Show/Hide the Help button |
| showcalculate | Show/Hide the Calculate button |
| showhistory | Show/Hide the history toggle |
| help | show the help menu |
You have to be able to compile OpenCPN itself - Get the info atDevolpers Manual[1992]
Build out of OpenCPN branch!
in folder calculator_pi
After using wxformbuilder to modify the interface, use degreefix.sh, to facilitate the windows build. When updating the Excel file with formulas and conversions, convert to cpp code by running the supplied perl script
SaltyPaws aka Walbert Schulpen
I believe the plugin supports small jpg & png images for the purpose of better visualization. What is needed to implement this system is some diagrams and more knowledge about the plugin. Rgleason
Earlier compiled library files can be downloaded/uploaded here. https://sourceforge.net/projects/opencpnplugins/[1994]
The plugin is licensed under the terms of GPL v2 or, at your will, later. The MuParser files are by Ingo Berg and is open source. For full licence, please see the muparser source files.